//  处理身份验证的中间件

const jsonwebtoken = require('jsonwebtoken')

module.exports = (req, res, next) => {
    // 获取 请求头中的 Authorization
    const token = req.get('Authorization')
    // 判断 token 是否存在
    if(!token) {
        res.status(401).send('请携带token')
        return
    }
    // 校验 token 是否有效
    jsonwebtoken.verify(token, 'DKL', async(err, data) => {
        if(err) {
            //  无效
            res.status(401).send({
                code: -1,
                msg: '身份验证失败'
            })
        } else {
            req.auth = data
            next()
        }
    })

}